package cn.hbads.support.structure.tuple;

import lombok.Getter;

/**
 * <b> Tuple- 三元元祖 </b>
 *
 * @author : yvvb
 * @date : 2025/5/04
 */
@Getter
public class TripleTuple<X, Y, Z> {
    X value1;
    Y value2;
    Z value3;

    public TripleTuple(X value1, Y value2, Z value3) {
        this.value1 = value1;
        this.value2 = value2;
        this.value3 = value3;
    }

    /**
     * <b>三元元组静态构造 </b>
     *
     * @param value1 {@link X} 元组元素1
     * @param value2 {@link Y} 元组元素2
     * @param value3 {@link Z} 元组元素2
     * @return {@link TripleTuple} 元组
     */
    public static <X, Y, Z> TripleTuple<X, Y, Z> of(X value1, Y value2, Z value3) {
        return new TripleTuple<>(value1, value2, value3);
    }
}
